package com.amado.course24;
/**
 * 构造方法
一句话：为了在new对象的时候能给对象属性初始化而产生的。
1.方法名与类名一致，没有返回类型
2.new一个对象时自动调用
3.如果没有定义构造方法，系统会有默认的构造方法，如果定义了，系统将不提供默认构造方法
4.和普通方法一样可以重载
5.构造方法相互调用使用this，并且出现在第一个语句
6.普通方法不能调用构造方法，构造方法可以调用普通方法
7.多层继承构造方法调用顺序：从父类往子类执行[重点]
8.在调用本类的构造方法之前，先调用父类的构造方法。可以通过super指定调用父类的某个构造方法。如果没有指定的，则调用默认的构造方法。
 *
 */
public class ConstractTset {
	private String name;
	private Integer id;
	private Short sex;
	
	public ConstractTset(String name, Integer id, Short sex) {
		this.name = name;
		this.id = id;
		this.sex = sex;
		System.out.println("ConstractTset 初始化成功");
	}
	//this 一定要出现在第一句
	public ConstractTset(String name, Integer id) {
		this(name,id,null);
	}
	public ConstractTset(String name) {
//		this.name = name;
		this(name,null,null);
	}
	public static void main(String[] args) {
		new ConstractTset("张三");
	}
}
